#include <stdio.h>

int main()
{
    int i=0,ne=0,elec=0,v=0;
    char t='n';

    while (t!='s') /*ciclo para ejecutar el programa reiteradas veces.*/
    {
    v=0;

    printf("\n###################################################################");
    printf("\n#************************ FINAL 2008 *****************************#");
    printf("\n#**************                                       ************#");
    printf("\n#**************  1-Ejercicio a                        ************#");
    printf("\n#**************  2-Ejercicio b                        ************#");
    printf("\n#**************                                       ************#");
    printf("\n#*****************************************************************#");
    printf("\n###################################################################\n ---->   ");

    /*ingresa la opcion y verifica que sea correcta*/
    do
    {
        v=scanf("%i",&elec);
        if (elec<1 || elec>2 || v!=1)
        {
            printf("\n\a\a\a\aIngrese una opcion correcta: ");
            v=scanf("%i",&elec);
        }

    }while(v!=1);

    v=0;

    /*ingresa la longitud del arreglo y chequea que sea mayor que 0*/
    do
    {
        printf("Ingrese la longitud del arreglo: ");
        v=scanf("%i",&ne);
        if(v!=1 ||  ne<1)
        {
            printf("\a\a\a\aDatos ingresados incorrectamente. Intente de nuevo");
            v=0;
        }
        else
        {
            v=1;
        }
    }while(v!=1);

    v=0;

    if (elec==1)
    {
        i = ejercicio1(ne);
    }
    else if (elec==2)
    {
        i = ejercicio2(ne);
    }

    printf("\nResultado del ejercicio %i: %i", elec, i);
    /*pregunta si se desea finalizar la aplicacion o continuar*/
    printf("\nSi desea finalizar la aplicacion presione 's', o presione cualquier tecla para continuar:  ");
    scanf("%s",&t);
    }
    return 0;
}

int ejercicio1(int n)
{
    int array[n];
    int i=0,j=0,v=0;
    for (i=0;i<n;i++)
    {
        printf("\nIngrese el valor %i: ", i);
        scanf("%i", &array[i]);
    }
    for (i=1;i<n;i++)
    {
        if ((array[v] - array[i])>=2)
        {
            j=j+1;
            v=i;
        }
    }
    return j;
}

int ejercicio2(int n)
{
    int array[n];
    int visited[n];
    int i=0,j=0,v=0,h=0;
    for (i=0;i<n;i++)
    {
        printf("\nIngrese el valor %i: ", i);
        scanf("%i", &array[i]);
        visited[i] = 0;
    }

    for (j=0;j<n;j++)
    {
        v = j;
        if (visited[v] != -1)
        {
            h++;
            for (i=v+1;i<n;i++)
            {
                if (((array[v] - array[i])>=2) && visited[i] != -1)
                {
                    v = i;
                    visited[v] = -1;
                }
            }
        }
    }
    return h;
}
